var fs = require('fs');
var path = require('path');

var plog=require("../paca/plog");
var plib=require("../paca/plib");


// 长度， 可以也直接用length获得 
var Length = module.exports.Length = function(_array) {
    var count = 0; 
    for(var k in _array)
    {
        count ++;
    }
    return count;
};

var GetNewNumberKey = module.exports.GetNewNumberKey = function(_array)
{
    var i = 0; 
    for(i = 0;i < 1000000; i ++){
        if(i in _array)
            {} else {
                return i;
            }
    }
    return -1; 
}
var GetNewKey = module.exports.GetNewKey = function(_array)
{
    while(true)
    {
        var r = plib.GetRandomNum(0, 1000000);
        if(r in _array) 
        {} else {
            return r;
        }
    }
    return -1;
};

var HasKey = module.exports.HasKey = function(_array, _key)
{
    if(_key in _array)
        return 0;
    else 
        return 1;
};

var HasVal = module.exports.HasVal = function(_array, _val)
{
    for(var i = 0; i < _array.Length; i ++)
    {
        if(_array[i] == _val) return 0;
    }
    return 1;
}



//_cb(_err);
var ToJson = module.exports.ToJson = function(_array)
{
    if(plib.isEmpObj(_array) == 0)
        return "{}";
    return JSON.stringify(_array);
}

//_cb(_err);
var FromString = module.exports.FromString = function(_str)
{
    try{
        if(_str == null) 
        {   
            return {};
        }
        if(_str == "")
        {    return {};
        } else { 
            return JSON.parse(_str);
        }
    } catch (err) {  
        plog.error('Fuck JSON ERROR: ' + _str);  
        return {};
    }
}
